RDS のモニタリングの概要についてまとめた
はじめに
おはようございます、もきゅりんです。
皆さん、RDS のモニタリングはどのように設定していますでしょうか?
またどのようにお考えでしょうか?
自分は何となく、その場その場で要件を伺って対応していたような気がしていました。
そんな後ろめたい自分を変えるのにぴったりのページがあったので、こちらを参照にまとめてみました。
なお、実際に設定は行いません。
さて、こちらのページでは、下記のような記載があります。
Amazon RDS のモニタリングを開始する前に、以下の質問に対する回答を反映したモニタリング計画を作成することをお勧めします。
1. どのような目的でモニタリングしますか?
2. モニタリングの対象となるリソースとは ?
3. どのくらいの頻度でこれらのリソースをモニタリングしますか?
4. 使用するモニタリングツールは?
5. 誰がモニタリングタスクを実行しますか?
6. 問題が発生したときに誰が通知を受け取りますか?
(※ 原文では箇条書きリストでしたが番号付きリストにしました)
これら6つの質問を念頭に、AWSを使ったモニタリングツールとモニタリング画面、アラート設定の3カテゴリでまとめてみました。
モニタリングの前提として
前提として、こちらはクリアであるとします。
1 は特に議論を重ねるべき重要なトピックかと思います。
おそらく何か設定を決める際に何度も顔を出してきます。
1 どのような目的でモニタリングしますか?
5 誰がモニタリングタスクを実行しますか?
1 モニタリングツール
2 モニタリングの対象となるリソースとは ?
3 どのくらいの頻度でこれらのリソースをモニタリングしますか?
4 使用するモニタリングツールは?
下記メトリクスのタイプにおける確認ポイントのアドバイスも記載されており、参考になります。
- CPU または RAM の高消費量
- ディスクスペースの消費量
- ネットワークトラフィック
- データベース接続数
- IOPS メトリクス
ツール | できること | 設定/料金 |
---|---|---|
CloudWatch Metrics | 1 分ごとにメトリクスを送信 | 特に設定なし(無料) |
Amazon RDS 拡張モニタリング | より短間隔でメトリクスを取得する | 有効化が必要。CloudWatch Logsにデフォルトで30日間保存。APIリクエスト数に注意(100 万の API リクエストまでは無料)。CloudWatchLogsの料金に準ずる。 |
Amazon RDS Performance Insights | データベースパフォーマンスを改善するための視覚化、分析を容易にする | 有効化が必要。 1,000 リクエストあたり $0.01(保存期間7日間 および 1 か月あたり 100 万件のリクエストの場合は無料)。 |
Amazon CloudWatch Logs へのデータベースログの発行 | データベースログを長期保存する | 設定が必要。DBによって設定方法はそれぞれ異なる。CloudWatchLogsの料金に準ずる。 |
下記のブログは実際の設定および使い方の参考になります。
RDSのMySQL/MariaDBでログをCloudWatch Logsへ出力可能になりました
【アップデート】Amazon Auroraでスロークエリや一般ログがCloudWatch Logsへ出力可能に
パフォーマンスインサイトを利用してWordPressのDB負荷を分析してみた
2 モニタリング画面
画面 | 用途 |
---|---|
RDS コンソール | 状況を視覚的に簡易に把握できる |
CloudWatch ホームページ | 詳細にデータを確認、分析できる / カスタマイズしたダッシュボードでデータを確認できる |
Trusted Advisor ダッシュボード | コスト最適化、セキュリティ、対障害性、パフォーマンス向上の観点でチェックできる |
3 アラート手法
6 問題が発生したときに誰が通知を受け取りますか?
個人的には、下記のような続きの質問に回答する、あるいは1,2の質問に再度振り返る必要があるように思います。
7 問題をどのように定義しますか?
8 どのように通知を行いますか(望ましいですか)?
あるいは、問題に応じて誰を通知に追加しますか?かもしれません。
サービス | フック | アクション |
---|---|---|
Amazon RDS イベント通知 | イベントサブスクリプション | Amazon SNS |
Amazon CloudWatch Metrics | メトリクスのしきい値 | Amazon CloudWatch Alarm |
Amazon CloudWatch Logs | ログフィルタパターンとメトリクスしきい値 | Amazon CloudWatch Alarm |
AWS CloudTrail | RDS で実行した特定のアクションイベント | Amazon CloudWatch Alarm |
Amazon CloudWatch Events および Amazon EventBridge | イベントルール | Lambda,EC2,SNS,etc... |
最後に
以上です。
上記のような質問に回答しつつ、適切なモニタリング設定を更新、改善していけたらと考えています。
どなたかのお役に立てば幸いです。